{"version":3,"file":"static/chunks/pages/blog/category/[categoryId]-a1572d8248f950c5.js","mappings":"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","sources":["webpack://_N_E/?e612","webpack://_N_E/./components/Author/AuthorBlogCard.tsx","webpack://_N_E/./components/Blogs/BlogCategory/BlogCategory.tsx","webpack://_N_E/./pages/blog/category/[categoryId].tsx","webpack://_N_E/./shared-components/Breadcrumb/Breadcrumb.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/blog/category/[categoryId]\",\n function () {\n return require(\"private-next-pages/blog/category/[categoryId].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/blog/category/[categoryId]\"])\n });\n }\n ","import Image from 'next/image';\nimport React from 'react';\nimport { AuthorBlogCardProps } from '../../types/pages/author';\nimport Link from 'next/link';\nimport { useRouter } from 'next/router';\n\nexport const AuthorBlogCard = ({\n blog,\n authorName,\n authorImage\n}: AuthorBlogCardProps) => {\n const router = useRouter();\n\n const isBlogPage = router.route === '/blog/[slug]' ? true : false;\n return (\n \n
\n
\n \n\n
\n \n {blog?.name?.includes('-') &&\n blog?.name?.split('-')?.pop()?.trim() === 'See Sight Tours'\n ? blog.name.split('-').slice(0, -1).join('-').trim()\n : blog.name}\n \n
\n {!isBlogPage && (\n
\n \n

\n {blog.publication_date}\n

\n
\n )}\n\n {/* */}\n {/*
\n \n

\n {'10'} Min. To Read\n

\n
*/}\n
\n \n {blog.snippet}\n

\n {authorName && (\n \n \n \n {authorName}\n

\n \n )}\n
\n
\n
\n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport PageHero from '../../../layouts/PageHero';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport SearchAndFilterBlogs from '../RevampedBlogs/SearchAndFilterBlogs/SearchAndFilterBlogs';\nimport { AuthorBlogCard } from '../../Author/AuthorBlogCard';\nimport BlogAuthors from '../RevampedBlogs/BlogAuthors/BlogAuthors';\nimport Newsletter from '../../../layouts/Newsletter/Newsletter';\nimport Pagination from '../../../shared-components/Pagination/Pagination';\nimport scrollToElement from '../../../utils/scrollIntoView';\nimport { BlogCard } from '../../../types/pages/author';\nimport { Author, BlogCity } from '../../../pages/blog';\nimport { BlogCategoryData } from '../../../pages/blog/category/[categoryId]';\nimport Breadcrumb from '../../../shared-components/Breadcrumb/Breadcrumb';\nimport { useRouter } from 'next/router';\n\ninterface BlogCategoryProps {\n authors: Author[];\n blogs: BlogCard[];\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => Promise;\n onCityChange: (cityId: string) => Promise;\n cities: BlogCity[];\n blogCategoryData: BlogCategoryData;\n}\n\nexport default function BlogCategory({\n authors,\n blogs,\n cities,\n currentPage,\n totalPages,\n onPageChange,\n onCityChange,\n blogCategoryData\n}: BlogCategoryProps) {\n const router = useRouter();\n const categoryId = router.query.categoryId as string;\n\n const breadcrumbLinks = [\n { title: 'Home', hrefLink: '/' },\n { title: 'Blogs', hrefLink: '/blog' },\n { title: blogCategoryData?.name, hrefLink: `/blog/category/${categoryId}` }\n ];\n\n const [searchQuery, setSearchQuery] = useState('');\n const [isInitialRender, setIsInitialRender] = useState(true);\n const blogsDivRef = useRef(null);\n\n const handleInputChange = (e: any) => {\n setSearchQuery(e.target.value);\n };\n\n useEffect(() => {\n if (isInitialRender) {\n setIsInitialRender(false);\n } else {\n if (blogsDivRef.current) {\n blogsDivRef.current.scrollTop = 0;\n }\n scrollToElement('blog-cards');\n }\n }, [currentPage]);\n\n return (\n
\n
\n
\n \n\n \n \n \n
\n
\n {blogs?.length > 0 ? (\n \n {blogs?.map((blog: any) => (\n \n ))}\n
\n ) : (\n
\n

No Blogs Found

\n

\n It seems there are no blogs available for this category at the\n moment. Please check back later for updates!\n

\n
\n )}\n
\n {totalPages > 1 && (\n \n )}\n
\n \n
\n
\n {\n return b.image ? 1 : -1;\n })}\n />\n
\n
\n \n \n );\n}\n","import React, { useState } from 'react';\nimport BlogCategory from '../../../components/Blogs/BlogCategory/BlogCategory';\nimport { Author, BlogCity } from '../../blog';\nimport axios from 'axios';\nimport { useRouter } from 'next/router';\nimport { BlogCard } from '../../../types/pages/author';\nimport Head from 'next/head';\nimport Image from 'next/image';\nimport { replaceTripshepherdWithSeeSight } from '../../../utils/trip-sheppered-text';\n\ninterface BlogCategoryPageProps {\n authors: Author[];\n blogs: BlogCard[];\n cities: BlogCity[];\n blogCategoryPageData: BlogCategoryData;\n totalBlogPages: number;\n currentBlogPage: number;\n}\n\ninterface Params {\n params: {\n categoryId: string;\n };\n}\n\nexport default function BlogCategoryPage({\n authors,\n blogs,\n cities,\n blogCategoryPageData,\n totalBlogPages,\n currentBlogPage\n}: BlogCategoryPageProps) {\n const [paginatedBlogs, setPaginatedBlogs] = useState(blogs);\n const [currentPage, setCurrentPage] = useState(currentBlogPage);\n const [totalPages, setTotalPages] = useState(totalBlogPages);\n const [cityId, setCityId] = useState('all-blogs');\n const router = useRouter();\n\n const handlePaginationClick = async (page: number) => {\n setCurrentPage(page);\n await fetchBlogs(page, cityId);\n };\n\n const handleCityFilterChange = async (cityId: string) => {\n setCityId(cityId);\n setCurrentPage(1);\n await fetchBlogs(1, cityId);\n };\n\n // for handling pagination and city filters on client side\n const fetchBlogs = async (page: number, cityId: string | null) => {\n try {\n const res = await axios.get(\n `${process.env.NEXT_PUBLIC_FIREBASE_CONNECTION}/blogs`,\n {\n params: {\n order: 'desc',\n page,\n category: router.query.categoryId,\n limit: 8,\n ...(cityId && cityId !== 'all-blogs' && { city: cityId })\n }\n }\n );\n setPaginatedBlogs(\n res.data.blogs.map((blog: any) => {\n return {\n name: blog.page_title,\n publication_date: blog.publication_date,\n snippet: blog.snippet,\n image: {\n alternativeText: blog.page_title,\n url: blog.image\n },\n slug: blog.slug,\n author: blog.author\n };\n })\n );\n\n setTotalPages(res.data.totalPages);\n } catch (error) {\n console.error('Error fetching blogs:', error);\n }\n };\n\n return (\n <>\n \n \n \n \n {replaceTripshepherdWithSeeSight(blogCategoryPageData?.meta_title)}\n \n \n \n \n \n\n {blogCategoryPageData ? (\n \n ) : (\n
\n \n

\n No Blogs Category Data Found!\n

\n
\n We couldn't find information about the blogs categories. Please\n check back later or explore other content.\n
\n router.push('/')}\n >\n Explore Tours\n \n
\n )}\n \n );\n}\n\nexport async function getStaticPaths() {\n try {\n const res = await fetch(\n `${process.env.NEXT_PUBLIC_FIREBASE_CONNECTION}/blog-page`\n );\n const data = await res.json();\n\n if (!data || !data.blog_categories) {\n throw new Error('No categories found in the response');\n }\n\n const paths = data?.blog_categories\n ?.filter((category: any) => category.id)\n ?.map((category: any) => ({\n params: { categoryId: category.id.toString() }\n }));\n\n return {\n paths,\n fallback: 'blocking'\n };\n } catch (error) {\n console.error('Error in getStaticPaths:', error);\n return {\n paths: [],\n fallback: 'blocking'\n };\n }\n}\n\nexport const getStaticProps = async ({ params }: Params) => {\n const { categoryId } = params;\n\n if (!categoryId) {\n console.error('categoryId is missing in getStaticProps');\n return {\n notFound: true\n };\n }\n\n try {\n const [blogsRes, blogsDataRes, blogCategoryPageRes] = await Promise.all([\n axios.get(\n `${process.env.NEXT_PUBLIC_FIREBASE_CONNECTION}/blogs?order=desc&page=1&category=${categoryId}&limit=8`\n ),\n axios.get(`${process.env.NEXT_PUBLIC_FIREBASE_CONNECTION}/blog-page`),\n axios.get(\n `${process.env.NEXT_PUBLIC_FIREBASE_CONNECTION}/blog-category/${categoryId}`\n )\n ]);\n\n const blogs: BlogCard[] = blogsRes?.data?.blogs.map((blog: any) => {\n return {\n name: blog.page_title,\n publication_date: blog.publication_date,\n snippet: blog.snippet,\n image: {\n alternativeText: blog.page_title || 'No Image Available',\n // Provide a fallback URL or use null if the image URL is undefined\n url: blog.image ? blog.image || '' : ''\n },\n slug: blog.slug,\n author: blog.author\n };\n });\n\n const { totalPages, currentPage } = blogsRes?.data;\n\n const authors: Author[] = blogsDataRes?.data.authors;\n\n const updatedCities = [\n { name: 'All Blogs', id: 'all-blogs' },\n ...blogsDataRes.data.cities\n ];\n\n const blogCategoryPageData = blogCategoryPageRes?.data;\n\n return {\n props: {\n blogs:\n blogs &&\n replaceTripshepherdWithSeeSight(JSON.parse(JSON.stringify(blogs))),\n authors,\n cities: updatedCities,\n blogCategoryPageData:\n blogCategoryPageData &&\n replaceTripshepherdWithSeeSight(\n JSON.parse(JSON.stringify(blogCategoryPageData))\n ),\n totalBlogPages: totalPages,\n currentBlogPage: currentPage\n }\n };\n } catch (error) {\n console.error('Error in getStaticProps:', error);\n return {\n props: {\n blogs: [],\n authors: [],\n cities: [],\n blogCategoryPageData: null\n }\n };\n }\n};\n\nexport interface BlogCategoryData {\n image: string;\n name: string;\n meta_description: string;\n meta_title: string;\n canonical: string;\n}\n","import Image from 'next/image';\nimport Link from 'next/link';\nimport { useRouter } from 'next/router';\n\ninterface IProps {\n breadcrumbLinks: {\n title: string;\n hrefLink: string;\n onclick?: () => void;\n }[];\n alignContent?: string;\n isArrowSeparator?: boolean;\n activeLinkColor?: string;\n}\n\nconst Breadcrumb = ({\n breadcrumbLinks,\n alignContent,\n isArrowSeparator,\n activeLinkColor\n}: IProps) => {\n const router = useRouter();\n\n const route = router.route;\n //Always show most recent 2 links on breadcrumbs\n const displayedBreadcrumbs =\n breadcrumbLinks?.length > 2 && router.route === '/accounts'\n ? breadcrumbLinks?.slice(-2)\n : breadcrumbLinks;\n\n const isAccountsPage = router.route === '/accounts';\n\n return (\n \n {displayedBreadcrumbs?.map((breadcrumb, index) => (\n <>\n \n \n {breadcrumb.title}\n

\n \n {breadcrumbLinks?.length - 1 !== index &&\n (isArrowSeparator ? (\n \n ) : (\n /\n ))}\n \n ))}\n \n );\n};\n\nexport default Breadcrumb;\n"],"names":["window","__NEXT_P","push","__webpack_require__","AuthorBlogCard","blog","authorName","authorImage","param","router","useRouter","isBlogPage","route","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Link","target","href","concat","slug","div","className","jsxs","Image","src","image","url","alt","alternativeText","name","width","height","h3","style","display","WebkitLineClamp","WebkitBoxOrient","includes","split","pop","trim","slice","join","p","publication_date","snippet","authorSlug","asPath","BlogCategory","authors","blogs","cities","currentPage","totalPages","onPageChange","onCityChange","blogCategoryData","categoryId","query","breadcrumbLinks","title","hrefLink","searchQuery","setSearchQuery","useState","isInitialRender","setIsInitialRender","blogsDivRef","useRef","useEffect","current","scrollTop","scrollToElement","jsx_runtime","PageHero","media","video","isRounded","id","Breadcrumb","alignContent","isArrowSeparator","SearchAndFilterBlogs","handleInputChange","e","value","sliderCategories","length","ref","map","author","h2","Pagination","handlePageChange","BlogAuthors","sort","a","b","Newsletter","BlogCategoryPage","blogCategoryPageData","totalBlogPages","currentBlogPage","paginatedBlogs","setPaginatedBlogs","setCurrentPage","setTotalPages","cityId","setCityId","handlePaginationClick","page","fetchBlogs","handleCityFilterChange","res","axios","get","process","params","order","category","limit","city","data","page_title","error","console","Fragment","Head","meta","content","replaceTripshepherdWithSeeSight","meta_title","meta_description","link","canonical","rel","button","onClick","__webpack_exports__","Z","activeLinkColor","displayedBreadcrumbs","isAccountsPage","breadcrumb","index","onclick","span"],"sourceRoot":""}